Add a copy of the contents of
/usr/share/linux-support-4.15.0-2/lib/python/debian_linux from the
linux-support-4.15.0-2 package.
Also, remove the KERNELVERSION from rules.defs and the code in the
debian_xen that checks for the old location of the code and fixup
cleaning in debian/rules.
Now, we don't have to annoy everyone any more with missing
linux-support-x.y.z packages, which change every few months, in order to
be able to work with this source package.
This is a first step in the process of cleaning up and simplifying this
part of the packaging.
The grub config snippet is not arch dependent, neither version
dependent, so it has to move into a 'common' package.
The packages with a version number in their name only have contents that
do not conflict with a previous or next version. Having this file in the
version dependent xen-hypervisor package currently prevents us from
being able to co-install the current and next version of Xen.
Since users who install the whole set of hypervisor and utils via the
meta package undoubtedly also want to get the example grub config,
always install the xen-hypervisor-common package in that case, even if
the user ignores Recommends (like I always do).
Also see #852545
Signed-off-by: Hans van Kranenburg <hans@knorrie.org>
Now we've enabled ovmf in the build, it makes sense to hint the user
which package is needed when using that. Only suggest it, since it's an
optional feature.
Signed-off-by: Hans van Kranenburg <hans@knorrie.org>
I was rushing a bit two days ago, and started a new version that's not
going to end up in Debian unstable and it's also not tagged, so let's
continue development.
* Cleanup all entries to not include versions that were never actually
released.
* Add more summary information about the Spectre/Meltdown related
upstream changes.
* Use an extra leading ~ during development, so that intermediate test
builds never result in files with the same names as the actual build
that will be released later.
Ian Jackson [Thu, 22 Feb 2018 18:11:39 +0000 (18:11 +0000)]
debian/bin/genorig.py: Defuse `export-subst'
The Xen upstream tree has .gitattributes which cause `git archive' to
change things in .gitarchive-info. This is troublesome because it
means that tarballs generated by genorig are not identical to the git
trees.
Work around this by temporarily creating a .gitattributes which
disables export-subst. We move aside any existing .gitattributes, so
that this works whether we are in a Debian packaging branch with
upstream files in, or an upstream branch, or a bare-packaging branch.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Most of the patches are related to the prefix / abiname set. Sort out
everything in sub directories, so it doesn't look completely like a big
pile of garbage.
In 8c378bc011 I moved the grub config file that was wrongly placed
inside the hypervisor package, and assumed that it would be fixed in a
stable update, and that the orig tar would not change before that.
However, we don't know yet what will happen in stretch security.
So, don't assume the fix would happen in a specific version in stable.
For now, bump the cutoff point all the way up to 4.10 so we can lower it
again when the actual fix did happen in stretch.
The end goal is to be able to upgrade from stretch to buster without
this problem. As long as the fix didn't happen in stable, and we have a
newer xen in unstable, the upgrade will hit the conflict.
Signed-off-by: Hans van Kranenburg <hans@knorrie.org>
First time someone does this the directory does not exist and you get an
ugly error. I copied this from the debian kernel genorig.py.
Note: currently my biggest annoyance with the placement of the orig file
in ../orig and the symlink to it is that if I run pbuilder, I will end
up with a symlink pointing nowhere in my pbuilder result location
instead of the actual orig, which makes including it into reprepro bork
of course.
For now, I'm making minimal changes to this. We can improve and change
it later. But this change prevents more lines in the README.source for
now.
Signed-off-by: Hans van Kranenburg <hans@knorrie.org>
Mark Pryor [Fri, 26 Jan 2018 01:54:19 +0000 (17:54 -0800)]
dh_shlibdeps: fix missing depend on libxentoolcore
xen-4.10 introduces a depends on libxentoolcore to the libxenstore3.0
package. To keep the library support for the xenstore-utils minimal,
the libxentoolcore*.so* lib is added to the package, along with its
symbols into libxenstore3.0.symbols. This keeps d/control unchanged.
Besides the libraries that are mentioned, a bunch of new ones have been
included over time. Just name them in a generic way in the libxen-dev
description.
Signed-off-by: Hans van Kranenburg <hans@knorrie.org>
First part of dealing with the upstream changes...
- drop rerun-autogen.sh-stretch.patch, it's in the upstream code
- also include the new uninstall sections (regardless of the fact if
it's used or not, let's keep things neat and tidy)
Signed-off-by: Hans van Kranenburg <hans@knorrie.org>
After doing a full build, it seems there was still stuff not being
ignored correctly. This change should take care of that.
So after debian/rules orig, debian/rules debian/control-real and doing a
package build, there are no files in debian/ showing up as untracked
content. When cleaning out everything using git clean -dfx, there are no
files in debian/ which are listed when doing git status --ignored.
So, to reiterate... the orig tar will just be made from commit 32e364c4e7 in the upstream repo. And if we advance to a later point
before 4.9.3 is released, then it'll get 4.9.2~pre+2.<commitid> etc...
Update the packaging for Xen 4.9. I took these changes from the Xen 4.9
packaging in Ubuntu done by Stefan Bader. Thanks!
The grub config snippet is not arch dependent, neither version
dependent, so it has to move into a 'common' package.
The packages with a version number in their name only have contents that
do not conflict with a previous or next version. Having this file in the
version dependent xen-hypervisor package currently prevents us from
being able to co-install the current and next version of Xen.
So, I can do this here for new packages in unstable but that will only
fix upgrades from xen 4.9 to 4.10. The same change still needs to go
into a stable update to solve the problem for upgrades from Stretch to
Buster.
When tracking the latest upstream versions in Debian unstable, I'd
like to keep the packages updated with latest available security patches
which are available when working on a new upload. So that means not
always working with an exact tagged upstream release.
There are two possible approaches when doing this:
1. Use the latest official release as orig tar and keep the rest of the
changes in debian patches. This is also what we would do for security
updates to stable.
2. Just follow the upstream stable branch lines (they will always fix
forward) and keep the latest changes in the orig tar.
I think option 2 makes the most sense for uploads to unstable when we're
nowhere near to a freeze yet. This results in version numbers like
4.9.2~pre+1.32e364c4e7-1, where the 1 is simply a helper because git
commit ids are not sortable. 4.9.1+1.32e364c4e7-1 would also be an
option, but since xen will report itself als 4.9.2-pre (e.g. in xen info
output), I prefer the ~pre one.
When testing new versions that are in rc state upstream, we might
put them in the Debian experimental distribution, so that we can find
out what needs to be done to the packaging already, and so that we
provide the opportunity for Debian users to help testing the new release
on their hardware.
These versions will usually look like e.g. 4.10~rc8-1~exp1, but
incidentally they could also include a few newer corrections, in which
case we end up with a git revision again, like seen above, but then with
rcX instead of pre and now the second pattern choice, because upstream
doesn't let us know if there will be a next rc, or the actual release.
So, that would be something like 4.10~rc8+1.3e11e302a8-1~exp1
This change allows both of these version patterns. While only the
major.minor version is used from it all, it's a nice sanity checker to
prevent eventual mistakes.
This package uses some code from the linux-support package to generate
files. The way in which this done in the packaging is similar to how the
linux source package is managed.
debian/rules.defs defines a KERNELVERSION which requires you to have the
linux-support-$KERNELVERSION package installed.
For now, update it to 4.9.0-4, since that's the current latest in
Stretch. I'm working on the packaging on a stretch system.
After doing so...
-$ make -f debian/rules debian/control-real
[...]
File "/usr/src/linux-support-4.9.0-4/lib/python/debian_linux/gencontrol.py", line 124, in do_main_recurse
for featureset in self.config['base', ]['featuresets']:
KeyError: 'featuresets'
Apparently the newer linux-support requires featuresets to be set. We
simply add it with only the option none, since we don't use it.
But, fix the .gitignore while doing so. It was ignoring way too much
(e.g. tree/xen-utils-common) and not ignoring some of the generated
content (e.g. control.md5sum).
The orig tar that belongs to this debian version is created from this
commit in xen/stable-4.8: